Crate blsful

source ·
Expand description

This crate implements BLS signatures according to the IETF latest draft

for the Proof of Possession Cipher Suite

Since BLS signatures can use either G1 or G2 fields, there are two types of public keys and signatures.

Re-exports§

Modules§

Structs§

Enums§

  • Represents a BLS signature for multiple signatures that signed different messages
  • A convenience wrapper for the two BLS signature implementations that doesn’t require specifying the generics and can be used in trait object like situations.
  • The error types generated by this library
  • Represents a BLS signature for multiple signatures that signed different messages
  • The commitment portion of the signature proof of knowledge
  • A signature proof of knowledge
  • A BLS secret key implementation that doesn’t expose the underlying curve and signature scheme and can be used in situations where the specific implementation is not known at compile time and where trait objects are desirable but can’t be used due to the lack of Sized trait. The downside is the type is now indicated with a byte or string for serialization and deserialization. If this is not desirable, then use SecretKey<C> instead.
  • A BLS signature wrapped in the appropriate scheme used to generate it
  • The BLS signature algorithm schemes
  • Represents a share of a signature

Constants§

Traits§

Type Aliases§

  • A BLS signature implementation using G1 for signatures and G2 for public keys
  • A BLS signature implementation using G2 for signatures and G1 for public keys
  • The result type generated by this library